#pragma once
#include <fcntl.h>
#include "Log.hpp"

namespace NonBlockModule
{
    using namespace LogModule;

    class NonBlock
    {
        public:
            static void SetNonBlock(int fd)
            {
                // 获取得到文件描述符
                int fl = fcntl(fd, F_GETFL);
                if (fl < 0)
                {
                    LOG(LogLevel::FATAL) << "fcntl get Failed!";
                    return;
                }
                // 将文件描述符的属性置为非阻塞
                fcntl(fd, F_SETFL, fl | O_NONBLOCK);
            }
    };
}

